Skip to content

Latest commit

 

History

History
49 lines (38 loc) · 1.22 KB

File metadata and controls

49 lines (38 loc) · 1.22 KB

493. Reverse Pairs

Given an integer array nums, return the number of reverse pairs in the array.

A reverse pair is a pair (i, j) where:

  • 0 <= i < j < nums.length and
  • nums[i] > 2 * nums[j].

Example 1:

Input: nums = [1,3,2,3,1] Output: 2 Explanation: The reverse pairs are: (1, 4) --> nums[1] = 3, nums[4] = 1, 3 > 2 * 1 (3, 4) --> nums[3] = 3, nums[4] = 1, 3 > 2 * 1 

Example 2:

Input: nums = [2,4,3,5,1] Output: 3 Explanation: The reverse pairs are: (1, 4) --> nums[1] = 4, nums[4] = 1, 4 > 2 * 1 (2, 4) --> nums[2] = 3, nums[4] = 1, 3 > 2 * 1 (3, 4) --> nums[3] = 5, nums[4] = 1, 5 > 2 * 1 

Constraints:

  • 1 <= nums.length <= 5 * 104
  • -231 <= nums[i] <= 231 - 1

Solutions (Python)

1. Solution

fromsortedcontainersimportSortedListclassSolution: defreversePairs(self, nums: List[int]) ->int: sortednums=SortedList() ret=0fornuminnums: ret+=len(sortednums) -sortednums.bisect_right(2*num) sortednums.add(num) returnret
close